package com.teamone.etl.datadictionary.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.teamone.etl.datadictionary.dto.UpdateDto;
import com.teamone.etl.datadictionary.entity.Dictionary;
import org.apache.ibatis.annotations.Param;

import java.text.ParseException;
import java.util.List;

/**
 * @Description
 * @Author ZhaoPeiJie
 * @Date 2021/1/12 14:49
 * @Version 1.0
 */

public interface DatadictionaryService extends IService<Dictionary> {
    /**
     * 测试查询全部
     * @return 数据字典记录全部
     */
    List<Dictionary> findAll();

    /**
     * 条件查询+分页
     * @param coding 编码
     * @param dictionaryName 名称
     * @param current 从current页开始
     * @param limit 查询 limit 条
     * @return 条件查询+分页 结果
     */
    List<Dictionary> findByDictionaryName(@Param("coding") Integer coding, @Param("dictionaryName") String dictionaryName, @Param("current") Long current, @Param("limit") Long limit);

    /**
     *  添加
     * @param dictionary 对象
     * @return
     * @throws ParseException
     */
    int addParamDictionary(Dictionary dictionary) throws ParseException;
    /**
     * 查询父级编号
     * @return List<String>   父级编号
     */
    List<String> findByParentIdString();
    /**
     * 删除字典数据(逻辑删除)
     * @param id 数据字典记录 编号
     */
    void deleteDictionary(@Param("id") String id);
    /**
     * 回显 根据id查询
     * @param id 数据字典记录 编号
     * @return 根据编号查询的对象
     */
    Dictionary findById(@Param("id") String id);

    /**
     * 修改
     * @param updateDto 对象
     * @return
     */
    int updateDictionary(UpdateDto updateDto);
}
